package top.lidee.repository.model.twice.vo.management;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.URL;
import top.lidee.repository.validator.constraints.IdCard;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @author 张一恒
 * @version 1.0
 * @description: 主题资料 营业执照 证照信息第一步校验
 * @date 2024/10/8 19:06
 */
@Data
public class ASLISubjectDataACardVo {
    @ApiModelProperty("操作类型：0新增，1修改")
    private String type;

    //<editor-fold desc="主题资料 营业执照">
    @ApiModelProperty("主体类型：0个体户，1企业，2小微/个人")
    @NotBlank(message = "主体类型不能为空")
    private String principalType;

    @ApiModelProperty("营业执照")
    private String license;

    @ApiModelProperty("统一社会信用代码")
    private String creditCode;

    @ApiModelProperty("营业执照店铺名称")
    private String licenseName;

    @ApiModelProperty("联系人姓名（营业执照法人姓名、身份证绑定名称）")
    @NotBlank(message = "联系人姓名（营业执照法人姓名、身份证绑定姓名）不能为空")
    private String contact;

    @ApiModelProperty("地址（经营详细地址/营业执照地址）")
    @NotBlank(message = "地址（经营详细地址/营业执照地址）不能为空")
    private String address;

    @ApiModelProperty("营业执照有效期（开始时间）")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date licenseStartTime;

    @ApiModelProperty("营业执照有效期（结束时间）")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date licenseEndTime;
    //</editor-fold>

    //<editor-fold desc="法人身份证件信息">
    @ApiModelProperty("身份证正面url（国徽面）")
//    @URL(message = "身份证正面url（国徽面）不正确")
    private String cardUpUrl;

    @ApiModelProperty("身份证反面url（人像面）")
//    @URL(message = "身份证正面url（人像面）不正确")
    private String cardVersaUrl;

    @ApiModelProperty("法人身份证号")
//    @IdCard
    private String idCard;

    @ApiModelProperty("身份证有效期（开始时间）")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
//    @NotNull(message = "身份证有效期（开始时间）不能为空")
    private Date cardStartTime;

    @ApiModelProperty("身份证有效期（结束时间）")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
//    @NotNull(message = "身身份证有效期（结束时间）不能为空")
    private Date cardEndTime;

    @ApiModelProperty("身份证居住地址")
//    @NotNull(message = "身份证居住地址不能为空")
    private String idCardAddress;
    //</editor-fold>

}
